Quiero poder mostrar una variable 'clicker', almacenar la cantidad de clics en un elemento determinado y luego mostrarla cuando hago clic en otro elemento.
per = a * 6.6666 , así que lo intenté de nuevo y no funcionó, el resultado sigue siendo 0, pero si cambio el valor de a a 1, muestra 6,6666, por lo que el cálculo funciona bien, pero no toma el valor de a en función de cuántas veces. Hago clic en él solo tomo el valor que di en el script ...
var a = 0 ; const six = 6.6666; var per = a * six; $(".mychoice").click(function () { (a++); }); $(".show").click(function () { $("#ss").text( per ); });Los cálculos se hacen cuando usted les dice que se hagan.
Si cambia el valor de a en un evento de clic, entonces ese valor no retrocede en el tiempo, por lo que a es el nuevo valor cuando lo leyó y lo usó para multiplicar six .
Si desea rehacer ese cálculo cuando se hace clic en algo, debe escribir esa expresión en esa función de controlador de eventos de clic.
Tenga en cuenta que a y per son dos ubicaciones distintas en la memoria, por lo tanto, debe actualizar la variable per junto con la variable a .
var a = 0; const six = 6.6666; var per = a * six; $(".mychoice").click(function () { (a++); // memory location labelled "a" has changed // update memory location labelled "per" accordingly per = a * six; }); $(".show").click(function () { $("#ss").text(per); });var per = a * six;
El cálculo se ejecuta y almacena en la variable per tan pronto como se ejecuta la línea, no cuando hace referencia a la variable per .
Si desea calcular el valor en otro momento, utilice una función (flecha) en su lugar.
// define `per` as arrow function with 0 arguments var per = () => a * six;Luego evocas la función cuando necesitas el resultado:
$(".show").click(function () { $("#ss").text( per() ); });En este escenario, hacer el cálculo directamente, sin definir una función, podría ser más limpio.
$(".show").click(function () { $("#ss").text(a * six); });